1. Field of the Invention
The present invention relates to a pattern defect inspection method and apparatus for detecting a defect of an object to be inspected by comparing reference image data and inspection image data obtained by optically scanning the object to be inspected.
2. Description of the Related Art
For example, the inspection process of semiconductor masks or printed circuit boards in a semiconductor manufacturing factory is needed for guarantee the quality of the product. In this inspection process, it must be inspected whether or not a pattern on a manufactured semiconductor mask or printed circuit board coincides with a design pattern.
This automatic inspection process is performed as follows.
An inspection pattern on a semiconductor mask or a printed circuit board as an object to be measured is read by an image sensor to obtain two-dimensional inspection image data.
It is checked if the inspection image data coincides with reference image data of a reference pattern obtained from design data.
As a result of this checking, if the inspection image data does not coincide with the reference pattern, a defect signal is output, and a defect position on the inspection pattern is specified.
FIG. 1 is a block diagram of such a pattern defect inspection apparatus.
An image sensor 1 scans an object to be inspected, and outputs the image signal. The image signal is converted into digital multi-value data corresponding to, e.g., 11 density levels "0" to "10" by an A/D converter 2.
With this conversion, two-dimensional inspection image data is generated. The inspection image data corresponds to an inspection pattern on the object to be inspected, and is supplied to a first differential circuit 3.
The first differential circuit 3 has differential operators respectively in x (horizontal), y (vertical), +45.degree., and -45.degree. directions shown in FIGS. 2A to 2D.
The x and y directions are orthogonal directions. The .+-.45.degree. directions define angles with respect to the x direction.
The first differential circuit 3 spatially differentiates the inspection image data using these differential operators in the four differential directions, and sends differential results to a selector 4.
On the other hand, a design data memory 5 stores a design data pattern generated based on design data of the pattern to be formed on the inspected object.
A reference image generator 6 converts the design data of the design data pattern into digital multi-value data corresponding to, e.g., 11 density levels "0" to "10", and supplies the conversion result to a second differential circuit 7 as reference image data.
The second differential circuit 7 has the same differential operators as in the first differential circuit 3, i.e., differential operators respectively in the x (horizontal), y (vertical), +45.degree., and -45.degree. directions.
The second differential circuit 7 spatially differentiates the reference image data using these four differential operators, and sends differential results to a minimum value direction detection circuit 8.
A case will be exemplified below wherein the inspection image data is as shown in FIG. 3.
Inspection image data 20 (FIG. 3) is composed of pixel data 21 of a plurality of pixels. A pattern 22 is defined by the respective level values of these pixel data 21.
Each of local areas 23 is defined by 3.times.3, i.e., a total of nine pixel data 21.
Of these areas, the local area 23 at a position A is located at an edge portion of the pattern 22. The local area 23 at a position B is located at a corner portion of the pattern 22. The local area at a position C is located at a uniform portion other than the pattern 22.
For example, pixel data in the local area 23 at the position A has a smooth density gradation, as shown in FIG. 4. This local area 23 consists of 5.times.5 pixel data. Numerical values of these pixel data indicate multi-value density levels.
Differential processing for the inspection image data shown in FIG. 4 using a differential operator Db in the y direction shown in FIG. 2B is as follows.
Of the pixel data 21 shown in FIG. 4, a differential value in the y direction for each of central density levels "5" corresponds to the difference "4" between two pixel data "7" and "3" adjacent to the density level "5" in the y direction.
More specifically, this differential value represents a slope defined by neighboring pixel data in the differential direction, i.e., the y direction.
Therefore, the first and second differential circuits 3 and 7 calculate differential values in the above-mentioned four directions in units of pixel data.
For example, when the differential values in the four directions are calculated for each of all pixel data constituting image data, the relationship between a pattern (original image) of image data and the differential values is as follows.
More specifically, the original image has an edge in the y direction, as shown in FIG. 5. When this original image is differentiated in the respective directions, the differential value in the x direction assumes a maximum value, and the differential value in the y direction assumes a minimum value "0", as shown in FIG. 6.
Note that the differential values in the +45.degree. and -45.degree. directions assume small values as compared to the differential value in the x direction.
The original image includes a defect G near the edge, as shown in FIG. 7. The defect G projects in the x direction.
In the differential value in the x direction for this original image, a discontinuous portion is generated in the x direction at the position of the defect G, as shown in FIG. 8.
On the other hand, in the differential value in the y direction, a value other than "0" corresponding to the defect G is generated. In the .+-.45.degree. directions, differential values resulting from the defect G are generated.
Therefore, as can be seen from a comparison between the differential results shown in FIGS. 6 and 8, the differential direction in which the differential value largely changes due to the presence of the defect G is the y direction.
If the original image shown in FIG. 5 is assumed to be reference image data and the original image shown in FIG. 7 is assumed to be inspection image data, of the differential values in the respective directions for the reference image data, the differential value in the y direction assumes a minimum value.
The minimum value direction detection circuit 8 receives the differential values (absolute values) in the respective directions from the second differential circuit 7, and detects the differential direction corresponding to the smallest one of the received differential values (the y direction in this case). The circuit 8 supplies the y direction to the selector 4.
The selector 4 receives the differential values in the four directions from the first differential circuit 3, selects the differential value in the y direction designated by the minimum value direction detection circuit 8 from the received differential values, and sends the differential value in the y direction to a defect judge circuit (discrimination circuit) 9.
The defect judge circuit 9 compares the input differential value with a predetermined threshold value, and when the differential value exceeds the threshold value, the circuit 9 determines that the pattern defect G is present in the pixel data corresponding to this differential value.
A direct comparison circuit 10 directly compares pixel data which are not differentiated.
The direct comparison circuit 10 calculates difference data between each pixel data in the inspection image data and the corresponding pixel data in the reference image data.
A defect judge circuit 11 compares each of the difference data from the direct comparison circuit 10 with a threshold value. When the difference data exceeds the threshold value, the defect judge circuit 11 determines that a pattern defect is present in this pixel data.
On the other hand, FIG. 9A shows a differential value for the uniform portion (FIG. 3A) at the position C input to the defect judge circuit 9. This uniform portion includes a defect Ga.
All the differential values, in the respective directions, of the reference image data of this uniform portion are "0" and are equal to each other. For example, a maximum value of differential values in the x and y directions is calculated. Then, the reference pattern is compared with the maximum value. Thus, the defect Ga included in the uniform portion can be clearly detected, subject to the following limitations.
In general, when a pattern defect is detected by comparing an inspection pattern and a reference pattern, the position or pattern coordinates of inspection image data and reference image data must be set to perfectly coincide with each other.
If the position or pattern coordinates of these data are shifted from each other, pixel data at different positions are compared with each other. With this comparison, a pattern defect cannot be clearly detected.
In order to prevent the false defect due to the position mismatch between the image data, the first and second differential circuits 3 and 7 compare differential values in the respective directions.
More specifically, inspection image data and reference image data are shifted by At in the x direction, as shown in FIG. 9B. In this case, even if no defect Gb is present at all, the entire area, in the vertical direction, of the width At is detected as a pattern defect as a result of defect detection of the direct comparison circuit 10.
When the reference image data and the inspection image data which are shifted by At from each other are differentiated in the respective directions, the differential value in the x direction changes at the edge portion of the pattern, but the differential value in the y direction does not change from "0".
Therefore, based on the differential value "0" in the y direction, even when the reference image data and the inspection image data are shifted by .DELTA.t from each other, the pattern edge portion is not detected as a defect.
On the other hand, when a defect Gb is present, as shown in FIG. 9B, the differential value, in the y direction, of the inspection image data assumes a value corresponding to the defect Gb. The defect judge circuit 9 detects a pattern defect from this differential value.
In this manner, even when the position or pattern coordinates of the inspection image data and the reference image data do not perfectly coincide with each other, a pattern defect is detected.
However, in the corner portion at the position B in FIG. 3, as shown in FIGS. 10A and 10B, a shift portion of the width .DELTA.t is detected as a false defect Gc.
More specifically, in the corner portion, the differential values in the -45.degree. direction have some small value, and the differential values in the remaining directions has bigger value.
If the position or pattern coordinates are shifted from each other, the minimum differential value directions of the inspection image data and the reference image data with respect to pixel data do not coincide with each other.
As a result, although the selector 4 selects the differential value in the differential direction designated by the minimum value direction detection circuit 8, the selected differential value is not "0" but has a value corresponding to the shift width .DELTA.t.
Therefore, when this differential value exceeds a threshold value, the defect judge circuit 9 detects a pattern defect.
On the other hand, when the corner portion includes a defect Gd, as shown in FIG. 10B, the differential value corresponding to this defect Gd is selected by the selector 4. The defect judge circuit 9 detects the differential value corresponding to this defect Gd as a pattern defect Ge.
For this reason, the pattern defect Ge resulting from the defect Gd is detected in the same manner as the false defect Gc due to the shift width .DELTA.t.
Therefore, whether the defect Gd is actually present sent or the pattern defect Gc is detected due to the position mismatch cannot be distinguished from each other.